We currently format the temperature with a precision of 0, that is
with no digits after the decimal-point. As a result, a temperature
like -0.2 shows up as -0.
Math.trunc() has the same effect as `%.0f` and handles that edge
case correctly, but while at it, we can just as well round the
value properly.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3441
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1548>
ampm: false,
});
const [, tempValue] = fc.get_value_temp(GWeather.TemperatureUnit.DEFAULT);
- const tempPrefix = tempValue >= 0 ? ' ' : '';
+ const tempPrefix = Math.round(tempValue) >= 0 ? ' ' : '';
let time = new St.Label({
style_class: 'weather-forecast-time',
});
let temp = new St.Label({
style_class: 'weather-forecast-temp',
- text: '%s%.0f°'.format(tempPrefix, tempValue),
+ text: '%s%d°'.format(tempPrefix, Math.round(tempValue)),
x_align: Clutter.ActorAlign.CENTER,
});